package com.ithuang.office.controller;

import com.ithuang.office.utils.SealUtil;
import com.ithuang.office.utils.configuration.SealCircle;
import com.ithuang.office.utils.configuration.SealConfiguration;
import com.ithuang.office.utils.configuration.SealFont;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

import java.awt.*;
import java.io.IOException;

/**
 * 生成印章
 * @author HJW
 */
@RestController
public class IconController {

    @GetMapping("createSeal")
    public String createSeal(){
        /**
         * 印章配置文件
         */
        SealConfiguration configuration = new SealConfiguration();

        /**
         * 主文字
         */
        SealFont mainFont = new SealFont();
        mainFont.setBold(true);
        mainFont.setFontFamily("宋体");
        mainFont.setMarginSize(10);
        /**************************************************/
        mainFont.setFontText("环境测试网络有限公司");
        mainFont.setFontSize(25);
        mainFont.setFontSpace(25.0);

        /**
         * 中心文字
         */
        SealFont centerFont = new SealFont();
        centerFont.setBold(true);
        centerFont.setFontFamily("宋体");
        centerFont.setFontText("★");
        centerFont.setFontSize(100);

        /**
         * 抬头文字
         */
        SealFont titleFont = new SealFont();
        titleFont.setBold(true);
        titleFont.setFontFamily("宋体");
        titleFont.setFontSize(22);
        titleFont.setFontText("合同章");
        titleFont.setMarginSize(68);
        titleFont.setFontSpace(10.0);

        /**
         * 添加主文字
         */
        configuration.setMainFont(mainFont);
        /**
         * 添加中心文字
         */
        configuration.setCenterFont(centerFont);
        /**
         * 添加抬头文字
         */
        configuration.setTitleFont(titleFont);

        /**
         * 图片大小
         */
        configuration.setImageSize(300);
        /**
         * 背景颜色
         */
        configuration.setBackgroudColor(Color.RED);
        /**
         * 边线粗细、半径
         */
        configuration.setBorderCircle(new SealCircle(3, 140, 140));

        //1.生成公章
        try {
            String path = System.getProperty("user.dir");
            SealUtil.buildAndStoreSeal(configuration, path+"/公章.png");
        } catch (IOException e) {
            e.printStackTrace();
        } catch (Exception e) {
            e.printStackTrace();
        }
        return "印章生成成功！";
    }
}
